package com.bsoft.gol.hcs.enumcase;

import org.apache.commons.lang3.StringUtils;

/**
 * @author yaosj
 *  健康通系统参数
 */

public enum GolSysParameterEnum {

    EA_AUTO_APPOINTMENT_COUNTDOWN_LIM("011216", "30", "分钟", "检查预约支付倒计时间", (byte) 1, (byte) 1, (byte) 6, (byte) 2),
    EA_AUTO_CXL_LIM("011204", "30", "分钟", "门诊患者未收费号源释放时间", (byte) 1, (byte) 1, (byte) 6, (byte) 2),
    FORMAT_INTERFACE_EXCHANGE("013701", "0", "", "检查开单对接方式(0:json 1:xml)", (byte) 1, (byte) 1, (byte) 13, (byte) 1),
    EA_CHECK_CORP_IS("011215", "1", "", "检查开单是否启用协同开单(0否，1是)", (byte) 1, (byte) 1, (byte) 6, (byte) 1),
    CHECK_SET_SOURCE("011217", "1", "", "检查组套来源(1线上，2线下)，默认:1", (byte) 1, (byte) 1, (byte) 6, (byte) 2),
    EXAM__SET_SOURCE("013805", "1", "", "检验组套来源(1线上，2线下)，默认:1", (byte) 1, (byte) 1, (byte) 6, (byte) 2),
    EA_PAY_ADVANCE_CHECK("013801", "1", "", "检验预约是否需要先付费后预约(0:否 1:是)", (byte) 1, (byte) 1, (byte) 6, (byte) 1);

    private final String parameterKey;
    private final String parameterDefaultValue;
    private final String parameterUnit;
    private final String parameterRemake;
    //状态（0停用，1启动）
    private final Byte parameterState;
    //是否启动加载（0 不启动加载，1启动加载）
    private final Byte parameterStartLoading;
    //系统参数类别
    private final Byte parameterType;
    //系统参数_级别:1 平台 2 机构
    private final Byte parameterLevel;


    GolSysParameterEnum(String parameterKey, String parameterDefaultValue, String parameterUnit, String parameterRemake,
                     Byte parameterState, Byte parameterStartLoading, Byte parameterType, Byte parameterLevel) {
        this.parameterKey = parameterKey;
        this.parameterDefaultValue = parameterDefaultValue;
        this.parameterUnit = parameterUnit;
        this.parameterRemake = parameterRemake;
        this.parameterState = parameterState;
        this.parameterStartLoading = parameterStartLoading;
        this.parameterType = parameterType;
        this.parameterLevel = parameterLevel;
    }

    public static GolSysParameterEnum getGolSysParameterEnum(String parameterKey) {
        if (StringUtils.isNotBlank(parameterKey)) {
            for (GolSysParameterEnum golSysParameterEnum : values()) {
                if (parameterKey.equals(golSysParameterEnum.getParameterKey())) {
                    return golSysParameterEnum;
                }
            }
        }
        return null;
    }

    @Override
    public String toString() {
        return "SysParameterEnum{" +
                "parameterKey='" + parameterKey + '\'' +
                ", parameterDefaultValue='" + parameterDefaultValue + '\'' +
                ", parameterUnit='" + parameterUnit + '\'' +
                ", parameterRemake='" + parameterRemake + '\'' +
                ", parameterState=" + parameterState +
                ", parameterStartLoading=" + parameterStartLoading +
                ", parameterType=" + parameterType +
                ", parameterLevel=" + parameterLevel +
                '}';
    }

    public String getParameterKey() {
        return parameterKey;
    }

    public String getParameterDefaultValue() {
        return parameterDefaultValue;
    }

    public String getParameterUnit() {
        return parameterUnit;
    }

    public String getParameterRemake() {
        return parameterRemake;
    }

    public Byte getParameterState() {
        return parameterState;
    }

    public Byte getParameterStartLoading() {
        return parameterStartLoading;
    }

    public Byte getParameterType() {
        return parameterType;
    }

    public Byte getParameterLevel() {
        return parameterLevel;
    }
}
